#include<bits/stdc++.h>
using namespace std;
#define int long long
int T,n,a[200010],b[200010];
void solve_2_n(){
    int ans=0;
    for(int i=1;i<=n;i++) scanf("%lld",&a[i]);
    for(int i=0;i<(1ll<<n);i++){
        int b[20],c[20];
        b[0]=c[0]=0;
        for(int j=1;j<=n;j++){
            if((i>>(j-1))&1) b[++b[0]]=a[j];
            else c[++c[0]]=a[j];
        }
        int num=0;
        for(int j=2;j<=b[0];j++) num+=(b[j]==b[j-1]?b[j]:0);
        for(int j=2;j<=c[0];j++) num+=(c[j]==c[j-1]?c[j]:0);
        /*if(num>ans){
            for(int j=1;j<=b[0];j++) cout<<b[j]<<",";
            cout<<endl;
            for(int j=1;j<=c[0];j++) cout<<c[j]<<",";
            cout<<endl<<endl<<endl;
        }*/
        ans=max(ans,num);
    }
    printf("%lld\n",ans);
}
int dp[3][110][110];
void solve_a_i(){
    for(int i=1;i<=n;i++) scanf("%lld",&a[i]);
    memset(dp,-0x3f,sizeof(dp));
    dp[0][0][0]=0;
    for(int i=1;i<=n;i++){
        for(int x=0;x<=100;x++){
            for(int y=0;y<=100;y++){
                dp[i&1][x][a[i]]=dp[(i&1)^1][x][y]+(a[i]==y?y:0);
                dp[i&1][a[i]][y]=dp[(i&1)^1][x][y]+(a[i]==x?x:0);
            }
        }
    }
    int ans=0;
    for(int i=0;i<=100;i++) for(int j=0;j<=100;j++) ans=max(ans,dp[n&1][i][j]);
    printf("%lld\n",ans);
}
signed main(){
    freopen("color.in","r",stdin);
    freopen("color.out","w",stdout);
    scanf("%lld",&T);
    while(T--){
        scanf("%lld",&n);
        if(n<=15) solve_2_n();
        else solve_a_i();
    }
    return 0;
}
